home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-isis-multilevel-routing-00.txt < prev    next >
Text File  |  1993-08-09  |  25KB  |  628 lines

  1.  
  2.  
  3.           ISIS Working Group                                 Radia Perlman
  4.           Internet-draft                                      Chris Gunner
  5.                                                    Digital Equipment Corp.
  6.                                                                  June 1993
  7.  
  8.  
  9.  
  10.                        Multiple Levels of Hierarchy with IS-IS
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                                   Table of Contents
  19.  
  20.            1.  Status of this Memo                                    2
  21.            2.  Abstract                                               2
  22.            3.  Introduction                                           2
  23.            4.  Topologies                                             3
  24.            5.  Management                                             4
  25.            5.1.  Port/Region Mapping                                  5
  26.            5.2.  Address Summaries for Import Into Region             5
  27.            6.  Extra Information in Control Packets                   6
  28.            6.1.  Hello, CSNP, PSNP                                    6
  29.            6.2.  LSP                                                  7
  30.            7.  Using Address Summaries                                7
  31.            8.  Picking a Path                                         8
  32.            9.  Working Group Information                              9
  33.            10.  Authors' Addresses                                   10
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.           Perlman   (Internet-Draft expires end December 1993)    [Page 1]
  61.  
  62.  
  63.  
  64.  
  65.  
  66.           Internet-Draft          Multilevel IS-IS               June 1993
  67.  
  68.  
  69.  
  70.           1. Status of this Memo
  71.  
  72.           This document is an Internet Draft describing changes to IS-IS
  73.           to enable it to support many levels of hierarchy. This should
  74.           apply to any network layer protocol routed by IS-IS. It is not a
  75.           finished specification. Instead it is a conceptual document,
  76.           intended to start discussion. If the basic premise is judged
  77.           sound, it should not be difficult to produce a specification.
  78.  
  79.           Internet Drafts are working documents of the Internet
  80.           Engineering Task Force (IETF), its Areas, and its Working
  81.           Groups. Note that other groups may also distribute working
  82.           documents as Internet Drafts.
  83.  
  84.           Internet Drafts are draft documents valid for a maximum of six
  85.           months. This Internet draft expires at the end of December 1993.
  86.           Internet drafts may be updated, replaced, or obsoleted by other
  87.           documents at any time. It is not appropriate to use Internet
  88.           Drafts as reference material or to cite them other than as a
  89.           "working draft" or "work in progress".
  90.  
  91.           Please check the I-D abstract listing contained in each Internet
  92.           Draft directory to learn the current status of this or any other
  93.           Internet Draft.
  94.  
  95.           This is a draft document of the ISIS working group.
  96.  
  97.           Distribution of this memo is unlimited. Please send comments to
  98.           the ISIS working group:
  99.  
  100.                   isis@merit.edu
  101.  
  102.  
  103.           2. Abstract
  104.  
  105.           This paper describes the management, algorithms, and control
  106.           packet structures necessary to support arbitrary levels of
  107.           routing hierarchy in IS-IS.
  108.  
  109.  
  110.           3. Introduction
  111.  
  112.           IS-IS is written as though there were two levels of routing
  113.           hierarchy: level 1, which routes on ID, and level 2, which
  114.           routes on address prefix. IP and CLNP addressing both have the
  115.           ability to have multiple levels of hierarchy for "level 2"
  116.           routing. In IP this is done by summarizing addresses with a
  117.           shorter mask. In CLNP this is done by summarizing addresses with
  118.           a shorter address prefix. This document explains what is needed
  119.           in IS-IS to truly support as many levels of hierarchy as is
  120.  
  121.  
  122.  
  123.           Perlman   (Internet-Draft expires end December 1993)    [Page 2]
  124.  
  125.  
  126.  
  127.  
  128.  
  129.           Internet-Draft          Multilevel IS-IS               June 1993
  130.  
  131.  
  132.  
  133.           possible in the address structure.
  134.  
  135.           The main reason to provide multiple levels of hierarchy is for
  136.           scaling.  However, the design in this paper also provides a lot
  137.           of the functionality that people expect from an inter-domain
  138.           routing protocol.  It allows setting up policies for which
  139.           destinations are reachable from which portions of the network.
  140.           In cases where the topology and IS-IS can accommodate all the
  141.           necessary policies, it is desirable to run only a single routing
  142.           protocol, rather than needing both an intradomain and an
  143.           interdomain routing protocol.
  144.  
  145.           The basic idea is that a network administrator can draw a
  146.           logical circle around any portion of the network. We'll call the
  147.           portion of the network inside the circle a "region". (I
  148.           apologize for making up a new term, but I want to prevent
  149.           confusion with existing terms, such as "area", or "subnetwork").
  150.           LSPs inside a region will not "leak out". LSPs from outside the
  151.           region will not "leak in". Information about addresses inside
  152.           the region will be explicitly advertised through configured
  153.           address summaries.  Similarly, information about addresses
  154.           outside the region will be explicitly advertised through
  155.           configured address summaries.
  156.  
  157.           For safety, ease of network troubleshooting, and flexibility in
  158.           such cases as links that should be included in multiple regions,
  159.           it is convenient to assign a name to a region. An option will be
  160.           added to IS-IS messages to include the region name. The goal is
  161.           that regions be as autoconfiguring as possible. Ideally, only
  162.           the routers on the boundary of a region will need to know
  163.           anything about the region. And in a network that is small enough
  164.           for a non-hierarchical level 2 network to keep track of
  165.           everything, there is no necessity to configure any region
  166.           information.
  167.  
  168.           This design should be compatible with current implementations.
  169.           Although a router that has not implemented the design in this
  170.           document cannot be on the boundary of a region, it should
  171.           interoperate in a multi-level IS-IS net.
  172.  
  173.  
  174.           4. Topologies
  175.  
  176.           This proposal really only concerns how to make level 2 routing
  177.           multi-level. It pertains to both IP and CLNP.  Only CLNP has
  178.           true level 1 routing, (by the definition that a node has an ID
  179.           within a level 1 subnetwork and can have multiple links within
  180.           that level 1 subnetwork, or move within that level 1 subnetwork,
  181.           and always have just one network layer address).  At any rate,
  182.           this proposal does not change level 1 routing -- it only changes
  183.  
  184.  
  185.  
  186.           Perlman   (Internet-Draft expires end December 1993)    [Page 3]
  187.  
  188.  
  189.  
  190.  
  191.  
  192.           Internet-Draft          Multilevel IS-IS               June 1993
  193.  
  194.  
  195.  
  196.           the nature of level 2 routing. OSPF and IS-IS refer to "areas"
  197.           in the context of IP routing. This proposal makes IP areas
  198.           simply a special case of regions.
  199.  
  200.           The basic idea is that the network will be partitioned by
  201.           network management into "regions". Each region will be assigned
  202.           a name, which will be a text string. LSPs do not leak between
  203.           areas, however, information about the destinations within a
  204.           region do get summarized and announced to other regions. The
  205.           summary addresses must be configured in order to get any
  206.           aggregation of addresses. Otherwise, all destinations would be
  207.           reported.  For example, assume there is a region A and the
  208.           destinations in the region are 5.12.*, 5.17.*, and 5.22.15.*.
  209.           If R has a link in region A and a link in region B, R will
  210.           include information about the destinations in A in R's LSP in
  211.           region B. R might have been configured with the summary address
  212.           5.* for import into B, in which case it will include 5.* in its
  213.           LSP in B. If R has not been configured with a summary address,
  214.           it will report the destinations 5.12.*, 5.17.*, and 5.22.15.*.
  215.  
  216.           For additional flexibility, a router can be configured to import
  217.           only the configured address summaries into one of its regions,
  218.           or be configured with summaries that it should not import into
  219.           that region.
  220.  
  221.           A router can be in multiple regions, and a link can be in
  222.           multiple regions. The scheme is flexible so that region
  223.           boundaries can be done whichever way is most convenient. The way
  224.           region boundaries are marked is by configuring a router as to
  225.           which links are in which regions.
  226.  
  227.           There is an unfortunate aspect of importing information between
  228.           regions, in that the counting-to-infinity behavior of distance
  229.           vector protocols manifests itself, and in a particularly ugly
  230.           way since each step of the counting-to-infinity behavior is done
  231.           by flooding of an LSP in a region. We could eliminate the
  232.           counting-to-infinity problem by constraining the topology in
  233.           various ways, or by making the protocol expensive and complex by
  234.           doing something like listing the entire path of regions from
  235.           which information originated. However, we are advocating merely
  236.           adding to the LSP information a count of the number of regions
  237.           through which the information was imported.  This will alleviate
  238.           but not solve the counting-to-infinity problem.  Further tuning
  239.           can be done by configuration of import/export rules.
  240.  
  241.  
  242.           5. Management
  243.  
  244.           The design of the management for multilevel IS-IS has the
  245.           following goals:
  246.  
  247.  
  248.  
  249.           Perlman   (Internet-Draft expires end December 1993)    [Page 4]
  250.  
  251.  
  252.  
  253.  
  254.  
  255.           Internet-Draft          Multilevel IS-IS               June 1993
  256.  
  257.  
  258.  
  259.           -   Allow networks with simple topologies to autoconfigure as
  260.               much as possible.
  261.  
  262.           -   Allow sophisticated network managers in complex topologies
  263.               as much flexibility as possible.
  264.  
  265.           -   Allow nodes to be managed one at a time. The network should
  266.               do something sensible in all the intermediate states.
  267.  
  268.           -   Allow formation of a region by configuration of only the
  269.               routers in the boundary of the region.
  270.  
  271.  
  272.           5.1. Port/Region Mapping
  273.  
  274.           We will define a "region" as a portion of the network that is
  275.           intended to be physically intact (we may or may not design
  276.           automatic region partition repair). It has a name, which is a
  277.           text string which can be optionally configured into routers that
  278.           are completely inside the region, but must be configured into
  279.           routers that have links to other regions. A router that has
  280.           links to other regions must be configured with names for each of
  281.           the regions to which it attaches, as well as a mapping between
  282.           links and regions.  Something like the following:
  283.  
  284.  
  285.               region Alice: ports 1, 2, 7
  286.               region Bob: ports 3, 4
  287.               region Fred: port 5
  288.               region George: ports 6,7
  289.  
  290.           Note that port 7 is in both regions George and Alice. It is
  291.           legal for a link to be in multiple regions. However, once a link
  292.           is in multiple regions, IS-IS packets transmitted over the link
  293.           must have the region name option included.
  294.  
  295.           It is also legal to not configure a region name for some ports,
  296.           in which case all unconfigured ports are considered to be in the
  297.           same region, which is the unnamed region.
  298.  
  299.  
  300.           5.2. Address Summaries for Import Into Region
  301.  
  302.  
  303.               import summaries into Alice
  304.  
  305.  
  306.                   (IP address, mask), cost
  307.                   (IP address, mask), cost
  308.                         ...
  309.  
  310.  
  311.  
  312.           Perlman   (Internet-Draft expires end December 1993)    [Page 5]
  313.  
  314.  
  315.  
  316.  
  317.  
  318.           Internet-Draft          Multilevel IS-IS               June 1993
  319.  
  320.  
  321.  
  322.                   (IP address, mask), cost
  323.                   (CLNP address prefix), cost
  324.                   (CLNP address prefix), cost
  325.                         ...
  326.                   (CLNP address prefix), cost
  327.                   exception flag
  328.  
  329.  
  330.  
  331.           (IP address, mask) is an IP address summary. (CLNP address
  332.           prefix) is a CLNP address prefix. Cost does not have to be
  333.           configured.  If it is, then it is the cost advertised when that
  334.           summary is advertised.  If cost is not configured, then the cost
  335.           of the nearest matching address is used as the cost to report to
  336.           that address summary. The "exception flag" states what should be
  337.           done about destinations that are reachable but are not included
  338.           in any of the configured address prefixes.  If the flag is true,
  339.           then all remaining reachable destinations will be imported. If
  340.           the flag is false, then nothing other than configured address
  341.           prefixes will be imported.
  342.  
  343.           It might be convenient to allow configuration of address
  344.           prefixes that are specifically disallowed, so for instance a
  345.           region might allow all addresses to be imported except for a
  346.           few.
  347.  
  348.           Another item that might be desirable is to configure a region
  349.           count per address summary, to make the counting-to-infinity
  350.           solution more powerful.  For instance, for address summary 5.*,
  351.           it might be configured for a count of 3, whereas for address
  352.           summary 12.13.* it might be configured for a count of 7.  This
  353.           would say that when importing 5.*, unless there was at least one
  354.           address matching 5.* that had a region count of at most 2, then
  355.           5.* would not be reported.  If this is not configured on a per
  356.           address summary basis, then each router would be configured with
  357.           a single region count limit that would apply to all address
  358.           summaries being imported.
  359.  
  360.  
  361.           6. Extra Information in Control Packets
  362.  
  363.  
  364.           6.1. Hello, CSNP, PSNP
  365.  
  366.           These packets will contain an additional field, as an option,
  367.           which is "region name". If R has a link which is configured to
  368.           be in multiple regions, then R will not accept any control
  369.           packet on that link unless it has the "region name" option. But
  370.           for links which are configured to be in only a single region, a
  371.           packet that has no region name option will be accepted and
  372.  
  373.  
  374.  
  375.           Perlman   (Internet-Draft expires end December 1993)    [Page 6]
  376.  
  377.  
  378.  
  379.  
  380.  
  381.           Internet-Draft          Multilevel IS-IS               June 1993
  382.  
  383.  
  384.  
  385.           assumed to be from that region. A packet received on link L with
  386.           a region name for which R has not been configured for L will be
  387.           rejected.
  388.  
  389.  
  390.           6.2. LSP
  391.  
  392.           The LSP contains the region name option for specifying which
  393.           region the LSP belongs to (for the same purpose and used the
  394.           same way as the Hello, CSNP, and PSNP). Destinations reported in
  395.           an LSP are marked as "internal" or "external", plus there is a
  396.           "region count" which specifies the total number of regions
  397.           through which this information has been imported (to alleviate
  398.           the count-to-infinity problem.
  399.  
  400.  
  401.  
  402.           7. Using Address Summaries
  403.  
  404.  
  405.           This is similar to the rules in integrated IS-IS for address
  406.           summaries for IP.
  407.  
  408.           -   For each (summary address), cost configured: If any address
  409.               matching that summary is reachable in any other region (as
  410.               known through the LSP database and Dijkstra calculation for
  411.               that region), then report that summary address as
  412.               reachable.  If "cost" is configured, report the greater of
  413.               the configured value, or the cost of the nearest address
  414.               matching the summary as the cost.  Otherwise, report the
  415.               cost to the nearest matching address. Mark the information
  416.               as "external".
  417.  
  418.           -   If "exceptions flag" is set, then report each reachable
  419.               address not already subsumed by one of the configured
  420.               summaries.
  421.  
  422.           Note that we are assuming the IS-IS cost metric will be expanded
  423.           from 6 bits. We are importing a path cost, not a link cost, so
  424.           it must be possible to report a metric larger than 6 bits.
  425.  
  426.           Suppose (5.*, cost 17) is configured into R as an address
  427.           summary to import into region B.  Suppose 5.13.15 is reachable
  428.           in region A (R knows this because of R's region A LSP database
  429.           and Dijkstra calculation).
  430.  
  431.           1.  If 5.13.15 was internal in region A, then R would report
  432.               (5.*, 17, region count=1) in its LSP in region B.
  433.  
  434.           2.  If 5.13.15 was reported with a region count of 4 in A, then
  435.  
  436.  
  437.  
  438.           Perlman   (Internet-Draft expires end December 1993)    [Page 7]
  439.  
  440.  
  441.  
  442.  
  443.  
  444.           Internet-Draft          Multilevel IS-IS               June 1993
  445.  
  446.  
  447.  
  448.               R would report a region count of 5 in its LSP in region B
  449.               for address prefix 5.*.
  450.  
  451.  
  452.           8. Picking a Path
  453.  
  454.           Routing is always to longest matching address prefix, regardless
  455.           of cost, whether it's marked internal vs external, etc. When
  456.           calculating a path to address prefix D, one being an internal
  457.           path and one being an external path (and both being prefixes of
  458.           exactly the same length), then the internal path is preferred
  459.           regardless of cost. For instance, suppose D is announced in R1's
  460.           LSP in region A as being internal, and the path cost to D (cost
  461.           to R1, plus the link cost advertised in R1's LSP to D) is x. Now
  462.           suppose D is also announced in R2's LSP in region B, but as
  463.           being external, and the path cost to D (cost to the router
  464.           announcing D, plus the link cost in the LSP to D) is y. Then
  465.           regardless of the values of x or y, the packet is routed towards
  466.           R1.
  467.  
  468.  
  469.           9. Counting-to-Infinity
  470.  
  471.           It is possible for region B to export address summary 5.13.14.*,
  472.           and have it (or a shorter prefix, like 5.*) reimported through
  473.           some other router.  Especially if 5.13.14.* were to become
  474.           unreachable, this would lead to a loop where 5.13.14.* would be
  475.           reimported into B, exported via the same path as before, and
  476.           reimported, etc.  Each time the cost would increase, but it
  477.           would take intolerably many iterations for the cost to increase
  478.           to a large enough value to know that the address prefix was
  479.           unreachable.  So we include a region count.
  480.  
  481.           If address summary 5.* is configured for import into region B,
  482.           and 5.12.* is reachable in region A, with a region count of 7,
  483.           and 5.15.17.* is reachable in region C with a region count of
  484.           10, then 5.* is imported into B, with a region count of 8.  It
  485.           is somewhat worrisome that the region count for 5.15.17.* is
  486.           decreasing, but it will not be a problem because the only way
  487.           for a region count to decrease is if the address summary gets
  488.           shorter -- this cannot happen over and over, since the address
  489.           summary is only of finite length.
  490.  
  491.           If the counting behavior is too intolerable even with the region
  492.           count, then we could configure per-address summary region
  493.           counts, or we could screen out importation of certain address
  494.           summaries that should not arrive from a particular direction.
  495.           Also, if routers are configured not to report anything other
  496.           than their configured address summaries, then it is possible to
  497.           eliminate loops (in most topologies).
  498.  
  499.  
  500.  
  501.           Perlman   (Internet-Draft expires end December 1993)    [Page 8]
  502.  
  503.  
  504.  
  505.  
  506.  
  507.           Internet-Draft          Multilevel IS-IS               June 1993
  508.  
  509.  
  510.  
  511.           It might be tempting, in order to solve the counting problem, to
  512.           list an entire path of region names, instead of merely a region
  513.           count.  This might make the count-to-infinity converge more
  514.           quickly.  However, it would take too much room in the LSP
  515.           (especially if a text string is used for a region name instead
  516.           of, say, a one or two byte integer, globally assigned for
  517.           uniqueness).  And it is not clear what to list as the region
  518.           name when, for instance, 5.* is being imported into B because
  519.           5.13.* is reachable in A and 5.15.* is reachable in C.  Probably
  520.           the right thing would be to add both A and C to the list of
  521.           regions 5.* has been imported through.  Another disadvantage of
  522.           listing the region names is that it requires region names to be
  523.           globally unique.  Otherwise, a region name can be the same as
  524.           another region name provided that the two regions do not touch
  525.           (if they did, they'd merge).
  526.  
  527.           It also might be tempting to put in the "original region name",
  528.           i.e. the region in which the address was internal.  However,
  529.           this would not solve the count-to-infinity problem except in the
  530.           original region, and it is also not clear what to put as the
  531.           "original region name" when, as in the example in the previous
  532.           paragraph, 5.* might be being imported into B because 5.13.* was
  533.           reachable internally in A and 5.15.* was reachable internally in
  534.           C.
  535.  
  536.           Other optimizations that might be explored are to limit which
  537.           routers import information.  For instance, perhaps only the
  538.           router that can import an address summary with the lowest cost
  539.           should import that summary -- other routers would remove the
  540.           address from their LSPs when they noticed it reported in a
  541.           different router's LSP with lower cost.  This would eliminate
  542.           some routes.  For instance, if router R1 reports D as reachable
  543.           at cost 71 and router R2 reports D as reachable at cost 72, then
  544.           routers closer to R2 would be better off routing through R2 even
  545.           though R1 is closer to the destination (but the combined cost to
  546.           get to the router and from there to D is less good through R1).
  547.  
  548.           Perhaps the right way to do the optimization of information
  549.           minimization is to add information to the configuration of an
  550.           address summary that tells R to report address summary D only if
  551.           R does not see D reported in another router's LSP in that region
  552.           at lower cost.
  553.  
  554.  
  555.           10. Working Group Information
  556.  
  557.           The current co-chairs of the ISIS working group are:
  558.  
  559.              Ross Callon
  560.              Wellfleet Communications Inc.
  561.  
  562.  
  563.  
  564.           Perlman   (Internet-Draft expires end December 1993)    [Page 9]
  565.  
  566.  
  567.  
  568.  
  569.  
  570.           Internet-Draft          Multilevel IS-IS               June 1993
  571.  
  572.  
  573.  
  574.              2 Federal Street
  575.              Billerica
  576.              MA 01821
  577.              USA
  578.              Phone:   (508) 436 3936
  579.              Email:   rcallon@wellfleet.com
  580.  
  581.              Chris Gunner
  582.              Digital Equipment Corp.
  583.              550 King Street
  584.              Littleton
  585.              MA 01460-1289
  586.              USA
  587.              Phone:   (508) 486 7792
  588.              Fax:     (508) 486 5279
  589.              Email:   gunner@dsmail.enet.dec.com
  590.  
  591.  
  592.           The working group mailing list is:
  593.  
  594.              isis@merit.edu
  595.  
  596.           Subscription requests should be sent to:
  597.              isis-request@merit.edu
  598.  
  599.  
  600.           11. Authors' Addresses
  601.  
  602.              Radia Perlman
  603.              Digital Equipment Corp.
  604.              550 King Street
  605.              Littleton
  606.              MA 01460-1289
  607.              USA
  608.              Phone:   (508) 486 7648
  609.              Fax:     (508) 486 5279
  610.              Email:   perlman@dsmail.enet.dec.com
  611.  
  612.              Chris Gunner
  613.              Digital Equipment Corp.
  614.              550 King Street
  615.              Littleton
  616.              MA 01460-1289
  617.              USA
  618.              Phone:   (508) 486 7792
  619.              Fax:     (508) 486 5279
  620.              Email:   gunner@dsmail.enet.dec.com
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.           Perlman   (Internet-Draft expires end December 1993)   [Page 10]
  628.